//package com.gwgreenway.oauth2.config;
//
///**
// * Created by Administrator on 2019/4/1.
// */
//
//import feign.RequestInterceptor;
//import org.springframework.boot.context.properties.ConfigurationProperties;
//import org.springframework.boot.context.properties.EnableConfigurationProperties;
//import org.springframework.cloud.security.sysbase.client.feign.OAuth2FeignRequestInterceptor;
//import org.springframework.context.annotation.Bean;
//import org.springframework.context.annotation.Configuration;
//import org.springframework.security.sysbase.client.DefaultOAuth2ClientContext;
//import org.springframework.security.sysbase.client.OAuth2RestTemplate;
//import org.springframework.security.sysbase.client.resource.OAuth2ProtectedResourceDetails;
//import org.springframework.security.sysbase.client.token.grant.client.ClientCredentialsResourceDetails;
//import org.springframework.security.sysbase.config.annotation.web.configuration.EnableOAuth2Client;
//
///**
// *
// * Copyright: Copyright (c) 2018 863263957@qq.com
// *
// * @ClassName: OAuth2ClientConfig.java
// * @Description: 客户端配置
// * @author: niugang
// * @date: 2018年9月14日 下午8:27:08
// */
//
//@EnableOAuth2Client
//@EnableConfigurationProperties
//@Configuration
//public class OAuth2ClientConfig {
//
//
//    /**
//     * 详细的客户端配置必须和证人服务器一样
//     * @return
//     */
//    @Bean
//    @ConfigurationProperties(prefix = "security.sysbase.client")
//    public OAuth2ProtectedResourceDetails clientCredentialsResourceDetails() {
//        return new ClientCredentialsResourceDetails();
//    }
//
//    /**
//     *  @EnableOAuth2Client.
//     * 1.oauth2ClientContextFilter
//     * 2.AccessTokenRequest
//     */
//    @Bean
//    public RequestInterceptor oauth2FeignRequestInterceptor(){
//        return new OAuth2FeignRequestInterceptor(new DefaultOAuth2ClientContext(), clientCredentialsResourceDetails());
//    }
//    /**
//     * Rest模板，能够使用提供的资源的凭据进行OAuth2身份验证的REST请求。
//     * @return
//     */
//    @Bean
//    public OAuth2RestTemplate clientCredentialsRestTemplate() {
//        return new OAuth2RestTemplate(clientCredentialsResourceDetails());
//    }
//}
